Overview | Package | Class | Use | Tree | Index | Help
| Java Debug Interface
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jdi.event
Interface EventQueue

All Superinterfaces:
  Mirror

public interface EventQueue
extends Mirror

Manager of incoming debugger events for a target VM. Events are always grouped in `EventSet`s. EventSets generated by the debugger back end can be read here. There is one instance of EventQueue assigned to a particular `VirtualMachine`.

Some events cause the suspension of the target VM - event requests (com.sun.jdi.request) with a `suspend policy` of `SUSPEND_ALL` or `SUSPEND_EVENT_THREAD` and sometimes `VMStartEvent`. If these suspensions are not resumed the target VM will hang. Thus, it is always good policy to `remove()` every EventSet from the event queue until an EventSet containing a `VMDisconnectEvent` is read. Unless `resume` is being handled in another way, each EventSet should invoke `EventSet.resume()`.

Since:
  1.3
See Also:
  `EventSet`, `VirtualMachine`

Method Summary
`EventSet` | `remove()` Waits forever for the next available event.
`EventSet` | `remove(long timeout)` Waits a specified time for the next available event.

Methods inherited from interface com.sun.jdi.Mirror
`toString, virtualMachine`

Method Detail

### remove

    public EventSet remove()
                    throws InterruptedException

  Waits forever for the next available event.

  Returns:
    the next `EventSet`.
  Throws:
    `InterruptedException` - if another thread has interrupted this thread.
    `VMDisconnectedException` - if the connection to the target VM is no longer available. Note this will always be preceded by a `VMDisconnectEvent`.

### remove

    public EventSet remove(long timeout)
                    throws InterruptedException

  Waits a specified time for the next available event.

  Parameters:
    `timeout` - Time in milliseconds to wait for the next event
  Returns:
    the next `EventSet`, or null if there is a timeout.
  Throws:
    `InterruptedException` - if another thread has interrupted this thread.
    `VMDisconnectedException` - if the connection to the target VM is no longer available. Note this will always be preceded by a `VMDisconnectEvent`.

Overview | Package | Class | Use | Tree | Index | Help
| Java Debug Interface
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD